import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import VueFetchPostFile from '@/components/VueFetchPostFile'
import VueOSS from '@/components/VueOSS'
import VueOSSBucket from '@/components/VueOSSBucket'
import VueOSSBucketPolicy from '@/components/VueOSSBucketPolicy'
import VueOSSObject from '@/components/VueOSSObject'
import VueOSSObjectDownload from '@/components/VueOSSObjectDownload'
import VueOSSObjectUpload from '@/components/VueOSSObjectUpload'
import VueOSSObjectCopy from '@/components/VueOSSObjectCopy'
import VueOSSObjectRemove from '@/components/VueOSSObjectRemove'
import VueOSSObjectURL from '@/components/VueOSSObjectURL'
import VueOSSObjectURLPresigned from '@/components/VueOSSObjectURLPresigned'

Vue.use(Router);

export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    }
    , {
      path: '/oss',
      name: 'VueOSS',
      component: VueOSS
    }
    , {
      path: '/oss/bucket',
      name: 'VueOSSBucket',
      component: VueOSSBucket
    }
    , {
      path: '/oss/bucket/policy',
      name: 'VueOSSBucketPolicy',
      component: VueOSSBucketPolicy
    }
    , {
      path: '/oss/object',
      name: 'VueOSSObject',
      component: VueOSSObject
    }
    , {
      path: '/oss/object/upload',
      name: 'VueOSSObjectUpload',
      component: VueOSSObjectUpload
    }
    , {
      path: '/oss/object/download',
      name: 'VueOSSObjectDownload',
      component: VueOSSObjectDownload
    }
    , {
      path: '/oss/object/copy',
      name: 'VueOSSObjectCopy',
      component: VueOSSObjectCopy
    }
    , {
      path: '/oss/object/remove',
      name: 'VueOSSObjectRemove',
      component: VueOSSObjectRemove
    }
    , {
      path: '/oss/fetch',
      name: 'VueFetchPostFile',
      component: VueFetchPostFile
    }
    , {
      path: '/oss/object/url',
      name: 'VueOSSObjectURL',
      component: VueOSSObjectURL
    }
    , {
      path: '/oss/object/url/presigned',
      name: 'VueOSSObjectURLPresigned',
      component: VueOSSObjectURLPresigned
    }
  ]
})
